const path = require("path");

module.exports = {
  // 通过 chainWebpack 函数, 修改 webpack 的一些配置.
  chainWebpack: (config) => {
    config.plugin("html").tap((args) => {
      args[0].title = "盾构管片智能制造系统";
      return args;
    });

    // config.module
    //   .rule("pdfjs-dist")
    //   .test({
    //     test: /\.js$/,
    //     include: path.join(__dirname, "node_modules/pdfjs-dist"),
    //   })
    //   .use("babel-loader")
    //   .loader("babel-loader")
    //   .options({
    //     presets: ["@babel/preset-env"],
    //     plugins: ["@babel/plugin-proposal-optional-chaining"],
    //   });

    // config.module
    //   .rule("pdf")
    //   .test(/\.(pdf)$/)
    //   .use("url-loader")
    //   .loader("url-loader")
    //   .options({ limit: 10000 })
    //   .end();
  },
  pluginOptions: {
    "style-resources-loader": {
      preProcessor: "less",
      patterns: [
        // 这个是加上自己的路径,不能使用(如下:alias)中配置的别名路径
        path.resolve(__dirname, "./src/style/theme/style.less"),
      ],
    },
  },
  pwa: {
    iconPaths: {
      faviconSVG: "favicon.ico",
      favicon32: "favicon.ico",
      favicon16: "favicon.ico",
      appleTouchIcon: "favicon.ico",
      maskIcon: "favicon.ico",
      msTileImage: "favicon.ico",
    },
  },
  devServer: {
    host: "localhost", // host路径
    port: 3000, // 端口号
    https: false, // https链接
    open: true, // 自动打开浏览器
    hotOnly: true, // 热更新
    proxy: {
      // 代理设置, 用于向后端发送请求
      "/api": {
        target: "http://localhost:8080",
        changeOrigin: true, // 是否改变域名
        pathRewrite: {
          // 路径重写
          "^/api": "", // 以api开头的
        },
      },
      // 代理设置, 用于向后端发送请求
      "/ws": {
        target: "ws://localhost:8080",
        changeOrigin: true, // 是否改变域名
        pathRewrite: {
          // 路径重写
          "^/ws": "", // 以ws开头的
        },
        ws: true, // websocket 支持
      },
    },
  },
};
